home *** CD-ROM | disk | FTP | other *** search
/ SuperHack / SuperHack CD.bin / CODING / VBASIC / NW41BAS.ZIP / NW4XCALL.BAS < prev    next >
Encoding:
BASIC Source File  |  1995-04-05  |  21.1 KB  |  415 lines

  1. 'NW4XCALL.BAS - All function related the the NWCALLS.DLL
  2. '   Contains all the Types, Function and Sub declaration necessary
  3. '   to call the NWCALLS.DLL
  4. 'April 4, 1995 Version 0.1
  5. 'Created by Joseph A. DiVito - Seton Hall University
  6. 'Includes some type decalration help from Novell's first release of NIVB
  7.  
  8. Type DATE_AND_TIME
  9.     year As String * 1
  10.     month As String * 1
  11.     date As String * 1
  12.     hour As String * 1
  13.     minute As String * 1
  14.     second As String * 1
  15.     day As String * 1
  16. End Type
  17.  
  18. Type CONNECT_INFO
  19.     ConnID As Integer
  20.     connectFlags As Integer
  21.     sessionID As Integer
  22.     connNumber As Integer
  23.     serverAddr As String * 12
  24.     serverType As Integer
  25.     ServerName As String * 48
  26.     clientType As Integer
  27.     clientName As String * 48
  28. End Type
  29.  
  30. Type CONN_USE
  31.     systemElapsedTime As Long
  32.     bytesRead As String * 6
  33.     bytesWritten As String * 6
  34.     totalRequestPackets As Long
  35. End Type
  36.  
  37. Type CONN_LIST
  38.     ListOfConnections(125) As Integer
  39. End Type
  40.  
  41. Type NWINET_ADDR
  42.     networkAddr As String * 4
  43.     netNodeAddr As String * 6
  44.     socket As Integer
  45.     connType As Integer  '3.11 and above only: 0=not in use, 2=NCP, 3=AFP
  46. End Type
  47.  
  48. Type PROPERTY_VALUE
  49.     'PropertyValue As String * 127
  50.     propertyValue(32) As Long
  51. End Type
  52.  
  53. Type DSK_CACHE_STATS
  54.     systemElapsedTime As Long
  55.     cacheBufferCount As Integer
  56.     cacheBufferSize As Integer
  57.     dirtyCacheBuffers As Integer
  58.     cacheReadRequests As Long
  59.     cacheWriteRequests As Long
  60.     cacheHits As Long
  61.     cacheMisses As Long
  62.     physicalReadRequests As Long
  63.     physicalWriteRequests As Long
  64.     physicalReadErrors As Integer
  65.     physicalWriteErrors As Integer
  66.     cacheGetRequests As Long
  67.     cacheFullWriteRequests As Long
  68.     cachePartialWriteRequests As Long
  69.     backgroundDirtyWrites As Long
  70.     backgroundAgedWrites As Long
  71.     totalCacheWrites As Long
  72.     cacheAllocations As Long
  73.     thrashingCount As Integer
  74.     LRUBlockWasDirtyCount As Integer
  75.     readBeyondWriteCount As Integer
  76.     fragmentedWriteCount As Integer
  77.     cacheHitOnUnavailCount As Integer
  78.     cacheBlockScrappedCount As Integer
  79. End Type
  80.  
  81. Type DSK_CHANNEL_STATS
  82.     systemElapsedTime As Long
  83.     channelState As Integer
  84.     channelSyncState As Integer
  85.     driverType As String * 1
  86.     driverMajorVersion As String * 1
  87.     driverMinorVersion As String * 1
  88.     driverDescription As String * 65
  89.     IOAddr1 As Integer
  90.     IOAddr1Size As Integer
  91.     IOAddr2 As Integer
  92.     IOAddr2Size As Integer
  93.     sharedMem1Seg As String * 3
  94.     sharedMem1Off As Integer
  95.     sharedMem2Seg As String * 3
  96.     sharedMem2Off As Integer
  97.     interrupt1Used As String * 1
  98.     interrupt1 As String * 1
  99.     interrupt2Used As String * 1
  100.     interrupt2 As String * 1
  101.     DMAChannel1Used As String * 1
  102.     DMAChannel1 As String * 1
  103.     DMAChannel2Used As String * 1
  104.     DMAChannel2 As String * 1
  105.     reserved2 As Integer
  106.     configDescription As String * 80
  107. End Type
  108.  
  109. Type DRV_MAP_TABLE
  110.     systemElapsedTime As Long
  111.     SFTLevel As String * 1
  112.     logicalDriveCount As String * 1
  113.     physicalDriveCount As String * 1
  114.     diskChannelTable As String * 5
  115.     pendingIOCommands As Integer
  116.     mappingTable As String * 32
  117.     driveMirrorTable As String * 32
  118.     deadMirrorTable As String * 32
  119.     remirroredDrive As String * 1
  120.     reserved As String * 1
  121.     remirroredBlock As Long
  122.     SFTErrorTable As String * 120
  123. End Type
  124.  
  125. Type SERVER_LAN_IO_STATS
  126.     systemElapsedTime As Long
  127.     maxRoutingBuffersAvail As Integer
  128.     maxRoutingBuffersUsed As Integer
  129.     routingBuffersInUse As Integer
  130.     totalFileServicePackets As Long
  131.     fileServicePacketsBuffered As Integer
  132.     invalidConnPacketCount As Long
  133.     badLogicalConnCount As Long
  134.     packetsRcvdDuringProcCount As Integer
  135.     reprocessedRequestCount As Integer
  136.     badSequenceNumberPacketCount As Integer
  137.     duplicateReplyCount As Integer
  138.     acknowledgementsSent As Integer
  139.     badRequestTypeCount As Integer
  140.     attachDuringProcCount As Integer
  141.     attachWhileAttachingCount As Integer
  142.     forgedDetachRequestCount As Integer
  143.     badConnNumberOnDetachCount As Long
  144.     detachDuringProcCount As Integer
  145.     repliesCanceledCount As Integer
  146.     hopCountDiscardCount As Integer
  147.     unknownNetDiscardCount As Integer
  148.     noDGroupBufferDiscardCount As Integer
  149.     outPacketNoBufferDiscardCount As Integer
  150.     IPXNotMyNetworkCount As Integer
  151.     NetBIOSPropagationCount As Long
  152.     totalOtherPackets As Long
  153.     totalRoutedPackets As Long
  154. End Type
  155.  
  156. Type NW_FS_INFO
  157.     systemElapsedTime As Long
  158.     processorType As String * 1
  159.     reserved As String * 1
  160.     serviceProcessCount As String * 1
  161.     serverUtilizationPercent As String * 1
  162.     maxBinderyObjectsAvail As Integer
  163.     maxBinderyObjectsUsed As Integer
  164.     binderyObjectsInUse As Integer
  165.     serverMemoryInK As Integer
  166.     dynamicAreaCount As Integer
  167.     dynamicSpace1 As Long
  168.     maxUsedDynamicSpace1 As Long
  169.     dynamicSpaceInUse1 As Long
  170.     dynamicSpace2 As Long
  171.     maxUsedDynamicSpace2 As Long
  172.     dynamicSpaceInUse2 As Long
  173.     dynamicSpace3 As Long
  174.     maxUsedDynamicSpace3 As Long
  175.     dynamicSpaceInUse3 As Long
  176. End Type
  177.  
  178. Type FILESYS_STATS
  179.     systemElapsedTime As Long
  180.     maxOpenFiles As Integer
  181.     maxFilesOpen As Integer
  182.     currOpenFiles As Integer
  183.     totalFilesOpened As Long
  184.     totalReadRequests As Long
  185.     totalWriteRequests As Long
  186.     currChangedFATSectors As Integer
  187.     totalChangedFATSectors As Long
  188.     FATWriteErrors As Integer
  189.     fatalFATWriteErrors As Integer
  190.     FATScanErrors As Integer
  191.     maxIndexFilesOpened As Integer
  192.     currOpenIndexedFiles As Integer
  193.     attachedIndexFiles As Integer
  194.     availableindexFiles As Integer
  195. End Type
  196.  
  197. Type NWLAN_CONFIG
  198.     networkAddress As Long
  199.     hostAddress1 As Long
  200.     hostAddress2 As Integer
  201.     LANDriverInstalled As String * 1
  202.     optionNumber As String * 1
  203.     configurationText1 As String * 80
  204.     configuratinoText2 As String * 80
  205. End Type
  206.  
  207. Type PHYS_DSK_STATS
  208.     systemElapsedTime As Long
  209.     diskChannel As String * 1
  210.     diskRemovable As String * 1
  211.     driveType As String * 1
  212.     controllerDriverNumber As String * 1
  213.     controllerNumber As String * 1
  214.     controllerType As String * 1
  215.     driveSize As Long
  216.     driveCylinders As Integer
  217.     driveHeads As String * 1
  218.     sectorsPerTrack As String * 1
  219.     IOErrorCount As Integer
  220.     hotFixStart As Long
  221.     hotFixSize As Integer
  222.     hotFixSizeAvailable As Integer
  223.     hotFixDisabled As String * 1
  224. End Type
  225.  
  226. Type VERSION_INFO
  227.     ServerName As String * 48
  228.     netwareVersion As String * 1
  229.     netwareSubVersion As String * 1
  230.     maxConnectionsSupported As Long
  231.     ConnectionsInUse As Long
  232.     maxVolumesSupported As Integer
  233.     revisionLevel As String * 1
  234.     SFTLevel As String * 1
  235.     TTSLevel As String * 1
  236.     peakConnectionsUsed As Long
  237.     AccountingVersion As String * 1
  238.     VAPVersion As String * 1
  239.     QueueingVersion As String * 1
  240.     PrintServerVersion As String * 1
  241.     VirtualConsoleVersion As String * 1
  242.     securityRestrictionLevel As String * 1
  243.     internetBridgeSupport As String * 1
  244. End Type
  245.  
  246.  
  247. 'Bindery object types
  248. Global Const OT_WILD = -1                   ' Matches any type
  249. Global Const OT_UNKNOWN = 0                 ' Unknown object type
  250. Global Const OT_USER = &H100                ' The object is a "user"
  251. Global Const OT_USER_GROUP = &H200          ' A group of users
  252. Global Const OT_PRINT_QUEUE = &H300         ' Services print queues
  253. Global Const OT_FILE_SERVER = &H400     ' The object serves files
  254. Global Const OT_JOB_SERVER = &H500
  255. Global Const OT_GATEWAY = &H600
  256. Global Const OT_PRINT_SERVER = &H700
  257. Global Const OT_ARCHIVE_QUEUE = &H800
  258. Global Const OT_ARCHIVE_SERVER = &H900      ' Services backup jobs
  259. Global Const OT_JOB_QUEUE = &HA00
  260. Global Const OT_ADMINISTRATION = &HB00
  261. Global Const OT_NAS_SNA_GATEWAY = &H2100
  262. Global Const OT_NACS = &H2300
  263. Global Const OT_REMOTE_BRIDGE_SERVER = &H2600
  264. Global Const OT_TCPIP_GATEWAY = &H2700
  265. Global Const OT_GATE = &H2900
  266. Global Const OT_TIME_SYNCHRONIZATION_SERVER = &H2D00
  267. Global Const OT_ARCHIVE_SRV = &H2E00
  268. Global Const OT_ADVERTISING_PRINT_SERVER = &H4700
  269. Global Const OT_BTRIEVE_VAP_NLM_5XX = &H4B00
  270. Global Const OT_SQL_VAP_NLM = &H4C00
  271. Global Const OT_XTREE_NETWORK = &H4D00
  272. Global Const OT_BTRIEVE_VAP_NLM_4XX = &H5000
  273. Global Const OT_PRINT_QUEUE_USER = &H5300
  274. Global Const OT_X25_GATEWAY = &H5800
  275. Global Const OT_WAN_COPY = &H7200
  276. Global Const OT_TES_NETWARE_VMS = &H7A00
  277. Global Const OT_NETWARE_ACCESS_SERVER = &H9800
  278. Global Const OT_PORTABLE_NETWARE = &H9E00
  279. Global Const OT_COMPAQ_IDA_STATUS_MONITOR = &HAC00
  280.  
  281. ' Bindery security definitions
  282. Global Const BS_ANY_READ = &H0       ' Readable by anyone
  283. Global Const BS_LOGGED_READ = &H1    ' Must be logged in to read
  284. Global Const BS_OBJECT_READ = &H2    ' Readable by same object or super
  285. Global Const BS_SUPER_READ = &H3     ' Readable by supervisor only
  286. Global Const BS_BINDERY_READ = &H4   ' Readable only by the bindery
  287. Global Const BS_ANY_WRITE = &H0      ' Writeable by anyone
  288. Global Const BS_LOGGED_WRITE = &H10  ' Must be logged in to write
  289. Global Const BS_OBJECT_WRITE = &H20  ' Writeable by same object or super
  290. Global Const BS_SUPER_WRITE = &H30   ' Writeable only by the supervisor
  291. Global Const BS_BINDERY_WRITE = &H40 ' Writeable by the bindery only
  292.  
  293. ' Attributes of objects and properties in the bindery
  294. Global Const BF_STATIC = &H0
  295. Global Const BF_DYNAMIC = &H1
  296. Global Const BF_ITEM = &H0
  297. Global Const BF_SET = &H2
  298.  
  299. Global Const CONNECTION_AVAILABLE = &H1
  300. Global Const CONNECTION_PRIVATE = &H2                  'obsolete
  301. Global Const CONNECTION_LOGGED_IN = &H4
  302. Global Const CONNECTION_LICENSED = &H4
  303. Global Const CONNECTION_BROADCAST_AVAILABLE = &H8
  304. Global Const CONNECTION_ABORTED = &H10
  305. Global Const CONNECTION_REFUSE_GEN_BROADCAST = &H20
  306. Global Const CONNECTION_BROADCASTS_DISABLED = &H40
  307. Global Const CONNECTION_PRIMARY = &H80
  308. Global Const CONNECTION_NDS = &H100
  309. Global Const CONNECTION_PNW = &H4000
  310. Global Const CONNECTION_AUTHENTICATED = &H8000         'obsolete
  311.  
  312. 'the following are for NWGetConnInfo
  313. 'ALL is VLM, OS2 and NT - NOT NETX
  314. Global Const NW_CONN_TYPE = 1             'returns WORD (VLM)
  315. Global Const NW_CONN_BIND = &H31
  316. Global Const NW_CONN_NDS = &H32
  317. Global Const NW_CONN_PNW = &H33
  318. Global Const NW_AUTHENTICATED = 3  'returns WORD = 1 if authenticated (ALL)
  319. Global Const NW_PBURST = 4         'returns WORD = 1 if pburst (VLM)
  320. Global Const NW_VERSION = 8        'returns WORD (VLM)
  321. Global Const NW_HARD_COUNT = 9     'returns WORD (VLM)
  322. Global Const NW_CONN_NUM = 13      'returns WORD (ALL)
  323. Global Const NW_TRAN_TYPE = 15     'returns WORD (VLM)
  324. Global Const NW_TRAN_IPX = &H21
  325. Global Const NW_TRAN_TCP = &H22
  326. Global Const NW_SESSION_ID = &H8000      'returns WORD) (VLM)
  327. Global Const NW_SERVER_ADDRESS = &H8001  'returns 12 byte address (ALL)
  328. Global Const NW_SERVER_NAME = &H8002     'returns 48 byte string  (ALL)
  329.  
  330. 'Not really needed in Windows, but suggested before making any NW calls
  331. Declare Function NWCallsInit Lib "NWCALLS.DLL" (ByVal parm1%, ByVal parm%) As Integer
  332.  
  333. 'Function from the NW4XCONN.BAS
  334. Declare Function NWGetConnInfo Lib "NWCALLS.DLL" (ByVal ConnID%, ByVal connType%, conndata$) As Integer
  335. Declare Function NWLockConnection Lib "NWCALLS.DLL" (ByVal ConnID%) As Integer
  336. Declare Function NWGetConnectionUsageStats Lib "NWCALLS.DLL" (ByVal ConnID%, ByVal ConnectionNumber%, StatusBuffer As CONN_USE) As Integer
  337. Declare Function NWGetConnectionInformation Lib "NWCALLS.DLL" (ByVal ConnID%, ByVal ConnNum%, ByVal objectName$, ObjectType%, objectID&, loginTime As DATE_AND_TIME) As Integer
  338. 'internetAddress needs to be Init. to a 10 Char String
  339. Declare Function NWGetInternetAddress Lib "NWCALLS.DLL" (ByVal ConnID%, ByVal ConnNum%, ByVal internetAddress$) As Integer
  340. Declare Function NWGetInetAddr Lib "NWCALLS.DLL" (ByVal ConnID%, ByVal ConnNum%, inetAddr As NWINET_ADDR) As Integer
  341. Declare Sub NWGetMaximumConnection Lib "NWCALLS.DLL" (maxConnection%)
  342. Declare Function NWGetConnectionList Lib "NWCALLS.DLL" (ByVal mode%, connListBuffer%, ByVal connListSize%, numConnection%) As Integer
  343. Declare Function NWGetConnectionStatus Lib "NWCALLS.DLL" (ByVal ConnID%, connInfo As CONNECT_INFO, ByVal connInfoSize%) As Integer
  344. Declare Function NWGetDefaultConnectionID Lib "NWCALLS.DLL" (ConnID%) As Integer
  345. Declare Function NWGetObjectConnectionNumbers Lib "NWCALLS.DLL" (ByVal ConnID%, ByVal objectName$, ByVal ObjectType%, numConnections%, connlist As CONN_LIST, ByVal maxConnections%) As Integer
  346. Declare Function NWGetConnListFromObject Lib "NWCALLS.DLL" (ByVal ConnID%, ByVal objectID&, ByVal searchConnNum&, connListLen%, connlist As CONN_LIST) As Integer
  347. Declare Function NWSetPreferredServer Lib "NWCALLS.DLL" (ByVal ConnID%) As Integer
  348. Declare Function NWGetPrimaryConnectionID Lib "NWCALLS.DLL" (ConnID%) As Integer
  349. Declare Function NWSetPrimaryConnectionID Lib "NWCALLS.DLL" (ByVal ConnID%) As Integer
  350. Declare Function NWGetConnectionHandle Lib "NWCALLS.DLL" (ByVal ServerName$, ByVal mode%, Conn%, ByVal Scope%)
  351. 'Same Purpose as above function ^^^^^^ but put in for Compatiability
  352. Declare Function NWGetConnectionID Lib "NWCALLS.DLL" (ByVal ServerName$, ByVal mode%, Conn%, ByVal Scope%)
  353. Declare Function NWGetConnectionNumber Lib "NWCALLS.DLL" (ByVal ConnID%, ConnNum%) As Integer
  354. Declare Function NWClearConnectionNumber Lib "NWCALLS.DLL" (ByVal ConnID%, ByVal ConnNum%) As Integer
  355. Declare Function NWIsIDInUse Lib "NWCALLS.DLL" (ByVal ConnID%) As Integer
  356.  
  357. 'Functions from the File NW4XBIND.BAS
  358. Declare Function NWAddObjectToSet Lib "NWCALLS.DLL" (ByVal ConnID%, ByVal objectName$, ByVal objectType%, ByVal propertyName$, ByVal memberName$, ByVal memberType%) As Integer
  359. Declare Function NWChangeObjectPassword Lib "NWCALLS.DLL" (ByVal ConnID%, ByVal objectName$, ByVal objectType%, ByVal oldPassword$, ByVal newPassword$) As Integer
  360. Declare Function NWChangeObjectSecurity Lib "NWCALLS.DLL" (ByVal CoOnnID%, ByVal objectName$, ByVal objectType%, ByVal newObjectSecurity%) As Integer
  361. Declare Function NWChangePropertySecurity Lib "NWCALLS.DLL" (ByVal ConnID%, ByVal objectName$, ByVal objectType%, ByVal propertyName$, ByVal newPropertySecurity%) As Integer
  362. Declare Function NWCloseBindery Lib "NWCALLS.DLL" (ByVal ConnID%) As Integer
  363. Declare Function NWCreateObject Lib "NWCALLS.DLL" (ByVal ConnID%, ByVal objectName$, ByVal objectType%, ByVal objectFlag%, ByVal objectSecurity%) As Integer
  364. Declare Function NWCreateProperty Lib "NWCALLS.DLL" (ByVal ConnID%, ByVal objectName$, ByVal objectType%, ByVal propertyName$, ByVal propertyFlags%, ByVal propertySecurity%) As Integer
  365. Declare Function NWDeleteObject Lib "NWCALLS.DLL" (ByVal ConnID%, ByVal objectName$, ByVal objectType%) As Integer
  366. Declare Function NWDeleteObjectFromSet Lib "NWCALLS.DLL" (ByVal ConnID%, ByVal objectName$, ByVal objectType%, ByVal propertyName$, ByVal memberName$, ByVal memberType%) As Integer
  367. Declare Function NWDeleteProperty Lib "NWCALLS.DLL" (ByVal ConnID%, ByVal objectName$, ByVal objectType%, ByVal propertyName$) As Integer
  368. Declare Function NWGetBinderyAccessLevel Lib "NWCALLS.DLL" (ByVal ConnID%, securityAccessLevel%, objectID&) As Integer
  369. Declare Function NWGetObjectDiskSpaceLeft Lib "NWCALLS.DLL" (ByVal ConnID%, ByVal binderyObjectID%, systemElapsedTime&, unusedDiskBlocks&, restrictionEnforced%) As Integer
  370. Declare Function NWGetBinderyObjectID Lib "NWCALLS.DLL" (ByVal ConnID%, ByVal objectName$, ByVal objectType%, objectID&) As Integer
  371. Declare Function NWGetObjectName Lib "NWCALLS.DLL" (ByVal ConnID%, ByVal objectID&, ByVal objectName$, objectType%) As Integer
  372. Declare Function NWIsObjectInSet Lib "NWCALLS.DLL" (ByVal ConnID%, ByVal objectName$, ByVal objectType%, ByVal propertyName$, ByVal memberName$, ByVal memberType%) As Integer
  373. Declare Function NWOpenBindery Lib "NWCALLS.DLL" (ByVal ConnID%) As Integer
  374. 'propertyValue is a 128-byte array
  375. Declare Function NWReadPropertyValue Lib "NWCALLS.DLL" (ByVal ConnID%, ByVal objectName$, ByVal objectType%, ByVal propertyName$, ByVal segmentNumber%, propertyValue As PROPERTY_VALUE, moreSegments%, propertyFlags%) As Integer
  376. Declare Function NWRenameObject Lib "NWCALLS.DLL" (ByVal ConnID%, ByVal objectName$, ByVal newObjectName$, ByVal objectType%) As Integer
  377. Declare Function NWScanObject Lib "NWCALLS.DLL" (ByVal ConnID%, ByVal searchObjectName$, ByVal searchObjectType%, objectID&, ByVal objectName$, objectType%, objectHasProperties%, objectFlag%, objectSecurity%) As Integer
  378. Declare Function NWScanObjectTrusteePaths Lib "NWCALLS.DLL" (ByVal ConnID%, ByVal objectID&, ByVal volumeNumber%, sequenceNumber%, trusteeAccessMask%, ByVal trusteePathName$) As Integer
  379. Declare Function NWScanProperty Lib "NWCALLS.DLL" (ByVal ConnID%, ByVal objectName$, ByVal objectType%, ByVal searchPropertyName$, sequenceNumber&, ByVal propertyName$, propertyFlags%, propertySecurity%, propertyHasValue%, moreProperties) As Integer
  380. Declare Function NWVerifyObjectPassword Lib "NWCALLS.DLL" (ByVal ConnID%, ByVal objectName$, ByVal objectType%, ByVal password$) As Integer
  381. 'propertyValue is a 128-byte array
  382. Declare Function NWWritePropertyValue Lib "NWCALLS.DLL" (ByVal ConnID%, ByVal objectName$, ByVal objectType%, ByVal propertyName$, ByVal segmentNumber%, propertyValue As PROPERTY_VALUE, ByVal moreSegments%) As Integer
  383. Declare Function NWDisallowObjectPassword Lib "NWCALLS.DLL" (ByVal ConnID%, ByVal objectName$, ByVal objectType%, ByVal disallowedPassword$) As Integer
  384. Declare Function NWGetObjectEffectiveRights Lib "NWCALLS.DLL" (ByVal ConnID%, ByVal objectID&, ByVal dirHandle%, ByVal path$, rightsMask%) As Integer
  385.  
  386. 'Functions from the file NW4XSERV.BAS
  387. Declare Function NWCheckConsolePrivileges Lib "NWCALLS.DLL" (ByVal ConnID%) As Integer
  388. Declare Function NWCheckNetWareVersion Lib "NWCALLS.DLL" (ByVal ConnID%, ByVal minVersion%, ByVal minSubVersion%, ByVal minRevision%, ByVal minSFT%, ByVal minTTS%, ByVal CompFlag%) As Integer
  389. Declare Function NWDisableFileServerLogin Lib "NWCALLS.DLL" (ByVal ConnID%) As Integer
  390. Declare Function NWDownFileServer Lib "NWCALLS.DLL" (ByVal ConnID%, ByVal forceFlag%) As Integer
  391. Declare Function NWEnableFileServerLogin Lib "NWCALLS.DLL" (ByVal ConnID%) As Integer
  392. Declare Function NWGetDiskCacheStats Lib "NWCALLS.DLL" (ByVal ConnID%, cacheStats As DSK_CACHE_STATS) As Integer     '2.x only
  393. Declare Function NWGetDiskChannelStats Lib "NWCALLS.DLL" (ByVal ConnID%, ByVal channelNumber%, channelStats As DSK_CHANNEL_STATS) As Integer     '2.x only
  394. Declare Function NWGetFSDriveMapTable Lib "NWCALLS.DLL" (ByVal ConnID%, ByVal structSize%, driveMappingTable As DRV_MAP_TABLE) As Integer        '2.x only
  395. Declare Function NWGetFileServerDateAndTime Lib "NWCALLS.DLL" (ByVal ConnID%, dateAndTime As DATE_AND_TIME) As Integer
  396. 'companyName, revision, and copyrightNotice must be initialized to 80 bytes
  397. 'revisionDate must be initialized to 24 bytes
  398. Declare Function NWGetFileServerDescriptionStrings Lib "NWCALLS.DLL" (ByVal ConnID%, ByVal companyName$, ByVal Revision$, ByVal revisionDate$, ByVal copyrightNotice$) As Integer
  399. Declare Function NWGetFileServerLANIOStats Lib "NWCALLS.DLL" (ByVal ConnID%, serverLANIOStats As SERVER_LAN_IO_STATS) As Integer        '2.x only
  400. Declare Function NWGetFileServerLoginStatus Lib "NWCALLS.DLL" (ByVal ConnID%, loginEnabledFlag%) As Integer
  401. Declare Function NWGetFileServerMiscInfo Lib "NWCALLS.DLL" (ByVal ConnID%, miscInfo As NW_FS_INFO) As Integer       '2.x only
  402. Declare Function NWGetFileServerName Lib "NWCALLS.DLL" (ByVal ConnID%, ByVal fileServerName$) As Integer
  403. Declare Function NWGetFileSystemStats Lib "NWCALLS.DLL" (ByVal ConnID%, fileSysStats As FILESYS_STATS) As Integer        '2.x only
  404. Declare Function NWGetFSLANDriverConfigInfo Lib "NWCALLS.DLL" (ByVal ConnID%, ByVal LANBoardNumber%, LANConfig As NWLAN_CONFIG) As Integer    '2.x only
  405. Declare Function NWGetPhysicalDiskStats Lib "NWCALLS.DLL" (ByVal ConnID%, ByVal physDiskNumber%, physDiskStats As PHYS_DSK_STATS) As Integer   '2.x only
  406. Declare Function NWGetFileServerVersionInfo Lib "NWCALLS.DLL" (ByVal ConnID%, serverInfo As VERSION_INFO) As Integer       'documentation says 2.x only, but it works in 3.x
  407. Declare Function NWSetFileServerDateAndTime Lib "NWCALLS.DLL" (ByVal ConnID%, ByVal theYear%, ByVal theMonth%, ByVal theDay%, ByVal theHour%, ByVal thein%, ByVal theSec%) As Integer
  408. Declare Function NWGetFileServerInformation Lib "NWCALLS.DLL" (ByVal ConnID%, ByVal ServerName$, MajorVersion%, MinorVersion%, Revision%, MaxxConnections%, MaxConnectionsUsed%, ConnectionsInUse%, NumVolumes%, SFTLevel%, TTSLevel%) As Integer
  409. Declare Function NWGetFileServerExtendedInfo Lib "NWCALLS.DLL" (ByVal ConnID%, AccountingVersion%, VAPVersion%, QueueingVersion%, PrintServerVersion%, VirtualConsoleVersion%, SecurityVersion%, InternetBridgeVersion%) As Integer
  410. Declare Function NWGetFileServerType Lib "NWCALLS.DLL" (ByVal ConnID%, ByVal TypeFlag%, ServerType%) As Integer
  411. Declare Function NWAttachToFileServer Lib "NWCALLS.DLL" (ByVal ServerName$, ByVal ScopeFlag%, ConnID%) As Integer
  412. Declare Function NWDetachFromFileServer Lib "NWCALLS.DLL" (ByVal ConnID%) As Integer
  413. Declare Function NWLoginToFileServer Lib "NWCALLS.DLL" (ByVal ConnID%, ByVal ObjectName$, ByVal ObjectType%, ByVal Password$) As Integer
  414. Declare Function NWLogoutFromFileServer Lib "NWCALLS.DLL" (ByVal ConnID%) As Integer
  415.